package main

import (
	"fmt"
)

func main() {
	//第五章：go语言函数

	//学习go语言的内置函数
	str := "golang"
	fmt.Println(len(str))

	//new函数
	//new函数用来分配内存，它的第一个参数是一个类型，不是一个值
	//new函数返回一个指向这个类型内存地址的指针
	var a = new(int)
	//打印a的类型，值，指针的值等等
	fmt.Printf("a的类型是%T，值是%v，地址是%v\n", a, a, &a)

	//make函数
	//make函数也是用来分配内存的，但是它只用于slice、map以及channel的内存创建
	//make函数返回的是一个这三个类型的初始化之后的值
	b := make([]int, 5, 10)
	fmt.Println(b)

	//append函数
	//append函数用于向slice中追加元素
	b = append(b, 1, 2, 3)
	fmt.Println(b)
}
